import {defineStore} from 'pinia'
import request from '@/utils/request'
import {ApiRes,CategoryItem,TopCategory,SubCategory} from '@/types/data'

// 导入一级分类的常量数据
import {topCategory} from '@/store/constants'
const defaultCategory = topCategory.map(item=>{
    return {name:item}
})

const useCategoryStore = defineStore('category',{
    state(){
        return {
            list:defaultCategory as CategoryItem[],
            topCategory: {} as TopCategory,
            subCategory: {} as SubCategory
        }
    },
    actions:{
        // 获取所有的分类信息
        async getAllCategory(){
            const res = await request.get<ApiRes<CategoryItem[]>>('/home/category/head')
            this.list = res.data.result
        },
        // 获取一级分类信息
        async getTopCategory(id:string){
            // const res = await request.get(`/category?id=${id}`)
            const res = await request.get<ApiRes<TopCategory>>(`/category`,{params:{id}})
            this.topCategory = res.data.result
        },
        // 获取二级分类信息
        async getSubCategory(id:string){
            const res = await request.get<ApiRes<SubCategory>>('/category/sub/filter',{params:{id}})
            this.subCategory = res.data.result   
        }
    },
    getters:{}
})

export default useCategoryStore